This invention relates to digital data processing and, more particularly, to paging data and related information to and from secondary storage devices.
High-speed physical storage space on computer systems is limited. Programs that run on those systems often require access to more data than that which can fit into the high-speed stores, referred to as random access memory, or RAM. Sometimes the programs themselves--not just the data they process--consume more memory than available on the system.
Early programs managed excess data by moving it directly between memory and secondary storage devices, e.g., magnetic disk drives, as needed. This required little memory--just the space needed to store the data currently being processed--but slowed processing by requiring frequent disk accesses. Some gains were obtained by accessing data in blocks, reading large amounts of data from disk into arrays, processing those arrays, then writing them back out to disk.
With the advent of virtual memory management systems, data management functions have been taken over by the computer operating system software. Programs written for use with these systems reference large amounts of data as if it were stored entirely in memory. Often it is not: the virtual memory system itself moves data back and forth between physical memory and disk.
Conventional operating systems, while effective for paging data per se, do not effectively retain "out of band" information. That is, information that pertains to the data, but which is not stored in logical memory structures common to it.
This is of particular concern in paging data within a multiprocessor systems of the type disclosed by Frank et al, U.S. patent application Ser. No. 136,930, filed Dec. 22, 1987, now U.S. Pat. No. 5,055,999, issued Oct. 8, 1991. There a digital data processing system comprises a plurality of processing cells, each including a central processing unit and a memory element, arranged in a hierarchy of rings. The memory elements can each include a directory element that maintains a list of descriptors reflecting the identity and state of each datum stored in the corresponding memory. While one portion of each descriptor "identifies" the associated datum (e.g., providing its system address), the other portion represents the datum's access state, governing the manner in which the local central processing unit (and the other processing cells) may utilize the datum.
One access state utilized in the disclosed system is the "atomic" state. A datum in that state can only be accessed by the owning central processing unit. All other cells are prohibited from accessing the datum until it is released by its owner. Because the atomic state information, in particular, and the descriptor information, in general, is retained separately from the associated datum, that information is considered to be out-of-band.
While the Frank et al system provides data movement and paging mechanisms, still further advances in this area are desirable. In view of the foregoing, an object of this invention is to provide an improved digital data processing system.
More particularly, an object is to provide an improved apparatus and method for paging data that is associated with out-of-band information.
Still another object is to provide an improved system of the type described above operating under UNIX.TM. or a UNIX-like operating system.
A further object is to provide a computer operating system having a paging mechanism the effectively handles attributes reflecting that data is associated with a specific processors and cannot be accessed by the other processors.